WindowsからMacへ開発環境を移行したときの乗り換え先アプリ
はじめに
もともとWindowsで開発を行っていたのですが、 入社と同時にMacBook Proを使わせていただくことになりました。
Windowsで使っていたアプリを、Macでどのように対応させたかを書きます。 なかなかドンピシャな代替が見つからず模索中のものもあります。
WindowsからMacへ移行するときにどのアプリを使うかの参考になれば幸いです。
# | アプリ種別 | Windows | => | Mac |
---|---|---|---|---|
1 | キーリマップ | AutoHotKey | => | Karabiner |
2 | ウィンドウ操作 | マウス操作 | => | Sepctacle |
3 | ランチャ | Launchy | => | Alfred2 |
4 | クリップボード・スニペット管理 | Clibor | => | Alfred2(有料) |
5 | ファイラ | 内骨格 | => | emacs dired |
6 | 画面キャプチャ | Snipping Tool | => | Skitch |
7 | Gitクライアント | SourceTree | => | git + tig |
8 | プレゼンテーション資料作成 | PowerPoint | => | Deckset(有料) |
キーリマップ
キーリマップは、本来入力されるキーとは別のキーを割り当てるツールです。めったに使わないキーを別のキーに割り当てたり、独自のキーボードショートカットを作成したり、使いこなせるとキーボードでの作業効率が大幅にアップします。
私はCapsLockキーをControlに割り当てたり、Control+Jで改行できるようにしたりと、キーボード操作を楽にする目的で利用していました。
AutoHotKey
AutoHotKeyは、Windows向けのキーリマップアプリです。リマップだけでなく、ホットキーの割当もできるようです。
Karabiner
KarabinerはMac向けのキーボードカスタマイズツールです。本当にいろいろなことができます。Mac標準ではやや不十分なキーストロークのスピードをさらに早くしたり、もちろんキーリマップも可能です。私は以下のような設定にしています。
ウィンドウ操作
最近は、マルチディスプレイでの開発が当たり前になっています。また、ディスプレイ自体のサイズ・解像度もあがり、複数のウィンドウを同時に開いた状態で作業するシーンが多くあると思います。ウィンドウの配置を変更したり、画面半分に分割したりしたいときに楽したいですよね。
マウス
Windowsに関しては下手にキーボードで頑張るよりもマウスで簡単に最大化、画面半分、といった操作ができるため特にアプリは使っていませんでした。
Spectacle
逆にMacの場合はマウスやトラックパッドでのウィンドウ操作がやりにくいと感じました。Spectacleというアプリを使っています。キーボードショートカットで、マルチディスプレイ間の移動や、ウィンドウを画面半分にリサイズ、といったことができます。Macでは必要な時以外ほとんどキーボードを触っているため、シームレスにこのあたりの操作ができるのは嬉しいです。
ランチャ
ランチャは、アプリケーションやWebサイトをキーボード入力で開くためのツールです。単純にアプリケーションを開くだけでなく、例えば検索文字列を指定した状態でGoogleを開くなどカスタマイズできる方が嬉しいです。
Launchy
Windowsではこれをつかっていました。作業中に利用するサイトやアプリはほとんどきまっていたので、立ち上げ方をいろいろとカスタマイズしていました。例えばイシュートラッカーのissueIDを指定した状態で開く、といった使い方です。
…関係ないですが、こういうことをやろうとしたときに、URLの設計ってとても大事だな、と痛感します。
Alfred2
ここで改めて説明することがないくらい利用されているであろうランチャアプリです。先に述べたことはもちろん、1Passwordと連携してログインが必要なサイトを一発で開いたり、Mac内のファイルを探して開いたりと、まさにすべての作業の起点となるアプリです。
クリップボード・スニペット管理
通常、クリップボードに保存しておけるデータはひとつのみで、複数の項目をコピー・ペーストしたい場合に不便です。また、よく使う定型文や文書のテンプレートなどは、スニペットという形でいつでも利用できる状態にしておくと便利です。
Cliber
Cliberは、常駐型のアプリで、クリップボードの履歴をためておくことができ、Ctrlを2回押すことで履歴がいつでも呼び出せます。動作も軽快で重宝していました。
Alfred2(有料)
Powerpack(有料版) が必要です。Alfred2でクリップボードとスニペットの管理ができるようになります。起動キーのカスタマイズもできるので、Cliberに寄せてCommandキー2回で起動するようにしています。
ファイラ
Macでのファイラがなかなか見つからず難航しました。どうしても2画面ファイラが使いたくCommander One Proも試したのですが、コマンドの割当などいまいちしっくり来ずFinderを使っていたとき、emacs diredのことを思い出しました。
内骨格
内骨格は、Windowsで使える2画面ファイラです。ファイルの移動、削除、コピー、リネームなどキーボードベースで操作できます。Pythonの設定ファイルをカスタマイズすることでジャンプリストやキーバインドを変更することもできます。Windowsだったらあふかこれが良いと思っています。
emacs dired
emacsは学生の頃に触っていて、社会人になってWindowsを使っている間は離れていました。diredで2画面ファイラ顔負けの使用感が得られると知って今使っています。正直まだ使いこなせていないのですが、バッファを2分割してファイルの移動・コピー対象をもう一方のバッファにすることが可能です。これだけでも使う価値があります。
画面キャプチャ
ブログを書くときやエビデンスを取るとき、説明用にキャプチャを取るときに重宝します。重視するポイントは、任意の領域のキャプチャを素早く取れること、撮影したキャプチャに対して特定箇所を目立たせる程度の加工ができること、です。
Snipping Tool
Snipping ToolはWindowsに標準でついているキャプチャアプリです。キャプチャした画像に対して、蛍光ペンで塗りたくったりすることができます。アプリ以上の機能が要求されるシーンがあまりなかったので、ずっとこれを使ってました。
Skitch
キャプチャはもちろん矢印を埋め込むことができます。お世話になっています。
Gitクライアント
複数人で開発しているとGitは必要になります。使う以上は、便利なクライアントを使いたいですよね。重視するポイントはブランチごとのコミットログが視覚的にわかりやすいことです。
SourceTree
SourceTreeはアトラシアンが提供するGUIのGitクライアントです。ブランチごとの履歴も視覚的にわかりやすく、マージ、リベース、チェリーピックといった操作も直感的でわかりやすいです。
git+tig
MacでもSourceTreeは利用できるのですが、上述アプリのおかげもあってほとんどの操作がキーボード寄りになってきたこと、コマンドラインが充実しているためターミナルを触ることが多くなったことから、コマンドラインベースのアプリを探していたところ、弊社zsherからtigというものを教えてもらいました。コミットの履歴や現在のファイルステータスなど、コマンドラインベースながら視覚的にわかりやすく表現してくれます。カスタマイズしないかぎりはpullやpushといった操作は行えないため、gitコマンドとの合わせ技で使っています。動作が軽快ですし、Homebrewを使えば一発でインストールできるのも便利。
プレゼンテーション資料作成
勉強会での発表や説明用の資料など、活躍するシーンは多岐に渡ります。可能な限り、プレゼン資料で作成した画像などのアセットは他の文書に使い回せたらいいなと思っています。なので、アニメーションなどあまり凝ったことはしないようにしています。
PowerPoint
とはいえ、なんだかんだで、Windowsではこれが一番使い心地が良かったです。
Deckset(有料)
Markdownの拡張書式で記述できることが最大の特徴です。多彩なアニメーションを表現することはできない一方、書式に従えば画像や文章の細かい配置などを気にする必要がありません。手早く発表会用の資料を作るシーンが多いため、私にはこのテイストのアプリが合っていました。Markdownベースなのでバージョン管理しやすいこともポイント。
おわりに
WindowsはGUIベースのアプリが充実しており、マウス操作で快適に作業できます。 その一方、Macはbashやzshが手早く使えることもあり、コマンドラインツールの選択肢が豊富な印象です。作業スタイルもマウスベースからキーボードベースに変わりました。
道具の選択もエンジニアの大事な仕事の一つです。なるべく自分が手を動かす総量を抑えつつ、重視するポイントを考えながら選ぶのが良いでしょう。